/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package it.apuliait.model;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.impl.BaseModelImpl;

import it.apuliait.service.ClpSerializer;
import it.apuliait.service.LineaFatturaLocalServiceUtil;

import java.io.Serializable;

import java.lang.reflect.Method;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Donatello
 */
public class LineaFatturaClp extends BaseModelImpl<LineaFattura>
	implements LineaFattura {
	public LineaFatturaClp() {
	}

	@Override
	public Class<?> getModelClass() {
		return LineaFattura.class;
	}

	@Override
	public String getModelClassName() {
		return LineaFattura.class.getName();
	}

	@Override
	public long getPrimaryKey() {
		return _lineaFatturaId;
	}

	@Override
	public void setPrimaryKey(long primaryKey) {
		setLineaFatturaId(primaryKey);
	}

	@Override
	public Serializable getPrimaryKeyObj() {
		return _lineaFatturaId;
	}

	@Override
	public void setPrimaryKeyObj(Serializable primaryKeyObj) {
		setPrimaryKey(((Long)primaryKeyObj).longValue());
	}

	@Override
	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("lineaFatturaId", getLineaFatturaId());
		attributes.put("documentoIDFK", getDocumentoIDFK());
		attributes.put("numeroLinea", getNumeroLinea());
		attributes.put("descrizione", getDescrizione());
		attributes.put("dataInizio", getDataInizio());
		attributes.put("dataFine", getDataFine());
		attributes.put("quantita", getQuantita());
		attributes.put("prezzoUnitario", getPrezzoUnitario());
		attributes.put("prezzoTotale", getPrezzoTotale());
		attributes.put("aliquotaIvaLinea", getAliquotaIvaLinea());
		attributes.put("tipoPrestazione", getTipoPrestazione());
		attributes.put("ritenuta", getRitenuta());
		attributes.put("natura", getNatura());
		attributes.put("riferimentoAmministrativo",
			getRiferimentoAmministrativo());
		attributes.put("numeroDdt", getNumeroDdt());
		attributes.put("dataDdt", getDataDdt());
		attributes.put("idDocumentoOrdine", getIdDocumentoOrdine());
		attributes.put("dataOrdine", getDataOrdine());
		attributes.put("codiceCigOrdine", getCodiceCigOrdine());
		attributes.put("codiceCupOrdine", getCodiceCupOrdine());
		attributes.put("idDocumentoContratto", getIdDocumentoContratto());
		attributes.put("dataContratto", getDataContratto());
		attributes.put("codiceCigContratto", getCodiceCigContratto());
		attributes.put("codiceCupContratto", getCodiceCupContratto());
		attributes.put("idDocumentoConvenzione", getIdDocumentoConvenzione());
		attributes.put("dataConvenzione", getDataConvenzione());
		attributes.put("codiceCigConvenzione", getCodiceCigConvenzione());
		attributes.put("codiceCupConvenzione", getCodiceCupConvenzione());
		attributes.put("idDocumentoRicezione", getIdDocumentoRicezione());
		attributes.put("dataRicezione", getDataRicezione());
		attributes.put("codiceCigRicezione", getCodiceCigRicezione());
		attributes.put("codiceCupRicezione", getCodiceCupRicezione());

		return attributes;
	}

	@Override
	public void setModelAttributes(Map<String, Object> attributes) {
		Long lineaFatturaId = (Long)attributes.get("lineaFatturaId");

		if (lineaFatturaId != null) {
			setLineaFatturaId(lineaFatturaId);
		}

		Long documentoIDFK = (Long)attributes.get("documentoIDFK");

		if (documentoIDFK != null) {
			setDocumentoIDFK(documentoIDFK);
		}

		String numeroLinea = (String)attributes.get("numeroLinea");

		if (numeroLinea != null) {
			setNumeroLinea(numeroLinea);
		}

		String descrizione = (String)attributes.get("descrizione");

		if (descrizione != null) {
			setDescrizione(descrizione);
		}

		String dataInizio = (String)attributes.get("dataInizio");

		if (dataInizio != null) {
			setDataInizio(dataInizio);
		}

		String dataFine = (String)attributes.get("dataFine");

		if (dataFine != null) {
			setDataFine(dataFine);
		}

		String quantita = (String)attributes.get("quantita");

		if (quantita != null) {
			setQuantita(quantita);
		}

		String prezzoUnitario = (String)attributes.get("prezzoUnitario");

		if (prezzoUnitario != null) {
			setPrezzoUnitario(prezzoUnitario);
		}

		String prezzoTotale = (String)attributes.get("prezzoTotale");

		if (prezzoTotale != null) {
			setPrezzoTotale(prezzoTotale);
		}

		String aliquotaIvaLinea = (String)attributes.get("aliquotaIvaLinea");

		if (aliquotaIvaLinea != null) {
			setAliquotaIvaLinea(aliquotaIvaLinea);
		}

		String tipoPrestazione = (String)attributes.get("tipoPrestazione");

		if (tipoPrestazione != null) {
			setTipoPrestazione(tipoPrestazione);
		}

		String ritenuta = (String)attributes.get("ritenuta");

		if (ritenuta != null) {
			setRitenuta(ritenuta);
		}

		String natura = (String)attributes.get("natura");

		if (natura != null) {
			setNatura(natura);
		}

		String riferimentoAmministrativo = (String)attributes.get(
				"riferimentoAmministrativo");

		if (riferimentoAmministrativo != null) {
			setRiferimentoAmministrativo(riferimentoAmministrativo);
		}

		String numeroDdt = (String)attributes.get("numeroDdt");

		if (numeroDdt != null) {
			setNumeroDdt(numeroDdt);
		}

		String dataDdt = (String)attributes.get("dataDdt");

		if (dataDdt != null) {
			setDataDdt(dataDdt);
		}

		String idDocumentoOrdine = (String)attributes.get("idDocumentoOrdine");

		if (idDocumentoOrdine != null) {
			setIdDocumentoOrdine(idDocumentoOrdine);
		}

		String dataOrdine = (String)attributes.get("dataOrdine");

		if (dataOrdine != null) {
			setDataOrdine(dataOrdine);
		}

		String codiceCigOrdine = (String)attributes.get("codiceCigOrdine");

		if (codiceCigOrdine != null) {
			setCodiceCigOrdine(codiceCigOrdine);
		}

		String codiceCupOrdine = (String)attributes.get("codiceCupOrdine");

		if (codiceCupOrdine != null) {
			setCodiceCupOrdine(codiceCupOrdine);
		}

		String idDocumentoContratto = (String)attributes.get(
				"idDocumentoContratto");

		if (idDocumentoContratto != null) {
			setIdDocumentoContratto(idDocumentoContratto);
		}

		String dataContratto = (String)attributes.get("dataContratto");

		if (dataContratto != null) {
			setDataContratto(dataContratto);
		}

		String codiceCigContratto = (String)attributes.get("codiceCigContratto");

		if (codiceCigContratto != null) {
			setCodiceCigContratto(codiceCigContratto);
		}

		String codiceCupContratto = (String)attributes.get("codiceCupContratto");

		if (codiceCupContratto != null) {
			setCodiceCupContratto(codiceCupContratto);
		}

		String idDocumentoConvenzione = (String)attributes.get(
				"idDocumentoConvenzione");

		if (idDocumentoConvenzione != null) {
			setIdDocumentoConvenzione(idDocumentoConvenzione);
		}

		String dataConvenzione = (String)attributes.get("dataConvenzione");

		if (dataConvenzione != null) {
			setDataConvenzione(dataConvenzione);
		}

		String codiceCigConvenzione = (String)attributes.get(
				"codiceCigConvenzione");

		if (codiceCigConvenzione != null) {
			setCodiceCigConvenzione(codiceCigConvenzione);
		}

		String codiceCupConvenzione = (String)attributes.get(
				"codiceCupConvenzione");

		if (codiceCupConvenzione != null) {
			setCodiceCupConvenzione(codiceCupConvenzione);
		}

		String idDocumentoRicezione = (String)attributes.get(
				"idDocumentoRicezione");

		if (idDocumentoRicezione != null) {
			setIdDocumentoRicezione(idDocumentoRicezione);
		}

		String dataRicezione = (String)attributes.get("dataRicezione");

		if (dataRicezione != null) {
			setDataRicezione(dataRicezione);
		}

		String codiceCigRicezione = (String)attributes.get("codiceCigRicezione");

		if (codiceCigRicezione != null) {
			setCodiceCigRicezione(codiceCigRicezione);
		}

		String codiceCupRicezione = (String)attributes.get("codiceCupRicezione");

		if (codiceCupRicezione != null) {
			setCodiceCupRicezione(codiceCupRicezione);
		}
	}

	@Override
	public long getLineaFatturaId() {
		return _lineaFatturaId;
	}

	@Override
	public void setLineaFatturaId(long lineaFatturaId) {
		_lineaFatturaId = lineaFatturaId;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setLineaFatturaId", long.class);

				method.invoke(_lineaFatturaRemoteModel, lineaFatturaId);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public long getDocumentoIDFK() {
		return _documentoIDFK;
	}

	@Override
	public void setDocumentoIDFK(long documentoIDFK) {
		_documentoIDFK = documentoIDFK;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDocumentoIDFK", long.class);

				method.invoke(_lineaFatturaRemoteModel, documentoIDFK);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getNumeroLinea() {
		return _numeroLinea;
	}

	@Override
	public void setNumeroLinea(String numeroLinea) {
		_numeroLinea = numeroLinea;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setNumeroLinea", String.class);

				method.invoke(_lineaFatturaRemoteModel, numeroLinea);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDescrizione() {
		return _descrizione;
	}

	@Override
	public void setDescrizione(String descrizione) {
		_descrizione = descrizione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDescrizione", String.class);

				method.invoke(_lineaFatturaRemoteModel, descrizione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataInizio() {
		return _dataInizio;
	}

	@Override
	public void setDataInizio(String dataInizio) {
		_dataInizio = dataInizio;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataInizio", String.class);

				method.invoke(_lineaFatturaRemoteModel, dataInizio);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataFine() {
		return _dataFine;
	}

	@Override
	public void setDataFine(String dataFine) {
		_dataFine = dataFine;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataFine", String.class);

				method.invoke(_lineaFatturaRemoteModel, dataFine);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getQuantita() {
		return _quantita;
	}

	@Override
	public void setQuantita(String quantita) {
		_quantita = quantita;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setQuantita", String.class);

				method.invoke(_lineaFatturaRemoteModel, quantita);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getPrezzoUnitario() {
		return _prezzoUnitario;
	}

	@Override
	public void setPrezzoUnitario(String prezzoUnitario) {
		_prezzoUnitario = prezzoUnitario;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setPrezzoUnitario",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, prezzoUnitario);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getPrezzoTotale() {
		return _prezzoTotale;
	}

	@Override
	public void setPrezzoTotale(String prezzoTotale) {
		_prezzoTotale = prezzoTotale;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setPrezzoTotale", String.class);

				method.invoke(_lineaFatturaRemoteModel, prezzoTotale);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getAliquotaIvaLinea() {
		return _aliquotaIvaLinea;
	}

	@Override
	public void setAliquotaIvaLinea(String aliquotaIvaLinea) {
		_aliquotaIvaLinea = aliquotaIvaLinea;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setAliquotaIvaLinea",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, aliquotaIvaLinea);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getTipoPrestazione() {
		return _tipoPrestazione;
	}

	@Override
	public void setTipoPrestazione(String tipoPrestazione) {
		_tipoPrestazione = tipoPrestazione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setTipoPrestazione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, tipoPrestazione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getRitenuta() {
		return _ritenuta;
	}

	@Override
	public void setRitenuta(String ritenuta) {
		_ritenuta = ritenuta;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setRitenuta", String.class);

				method.invoke(_lineaFatturaRemoteModel, ritenuta);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getNatura() {
		return _natura;
	}

	@Override
	public void setNatura(String natura) {
		_natura = natura;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setNatura", String.class);

				method.invoke(_lineaFatturaRemoteModel, natura);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getRiferimentoAmministrativo() {
		return _riferimentoAmministrativo;
	}

	@Override
	public void setRiferimentoAmministrativo(String riferimentoAmministrativo) {
		_riferimentoAmministrativo = riferimentoAmministrativo;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setRiferimentoAmministrativo",
						String.class);

				method.invoke(_lineaFatturaRemoteModel,
					riferimentoAmministrativo);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getNumeroDdt() {
		return _numeroDdt;
	}

	@Override
	public void setNumeroDdt(String numeroDdt) {
		_numeroDdt = numeroDdt;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setNumeroDdt", String.class);

				method.invoke(_lineaFatturaRemoteModel, numeroDdt);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataDdt() {
		return _dataDdt;
	}

	@Override
	public void setDataDdt(String dataDdt) {
		_dataDdt = dataDdt;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataDdt", String.class);

				method.invoke(_lineaFatturaRemoteModel, dataDdt);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getIdDocumentoOrdine() {
		return _idDocumentoOrdine;
	}

	@Override
	public void setIdDocumentoOrdine(String idDocumentoOrdine) {
		_idDocumentoOrdine = idDocumentoOrdine;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setIdDocumentoOrdine",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, idDocumentoOrdine);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataOrdine() {
		return _dataOrdine;
	}

	@Override
	public void setDataOrdine(String dataOrdine) {
		_dataOrdine = dataOrdine;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataOrdine", String.class);

				method.invoke(_lineaFatturaRemoteModel, dataOrdine);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCigOrdine() {
		return _codiceCigOrdine;
	}

	@Override
	public void setCodiceCigOrdine(String codiceCigOrdine) {
		_codiceCigOrdine = codiceCigOrdine;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCigOrdine",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCigOrdine);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCupOrdine() {
		return _codiceCupOrdine;
	}

	@Override
	public void setCodiceCupOrdine(String codiceCupOrdine) {
		_codiceCupOrdine = codiceCupOrdine;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCupOrdine",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCupOrdine);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getIdDocumentoContratto() {
		return _idDocumentoContratto;
	}

	@Override
	public void setIdDocumentoContratto(String idDocumentoContratto) {
		_idDocumentoContratto = idDocumentoContratto;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setIdDocumentoContratto",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, idDocumentoContratto);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataContratto() {
		return _dataContratto;
	}

	@Override
	public void setDataContratto(String dataContratto) {
		_dataContratto = dataContratto;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataContratto", String.class);

				method.invoke(_lineaFatturaRemoteModel, dataContratto);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCigContratto() {
		return _codiceCigContratto;
	}

	@Override
	public void setCodiceCigContratto(String codiceCigContratto) {
		_codiceCigContratto = codiceCigContratto;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCigContratto",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCigContratto);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCupContratto() {
		return _codiceCupContratto;
	}

	@Override
	public void setCodiceCupContratto(String codiceCupContratto) {
		_codiceCupContratto = codiceCupContratto;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCupContratto",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCupContratto);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getIdDocumentoConvenzione() {
		return _idDocumentoConvenzione;
	}

	@Override
	public void setIdDocumentoConvenzione(String idDocumentoConvenzione) {
		_idDocumentoConvenzione = idDocumentoConvenzione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setIdDocumentoConvenzione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, idDocumentoConvenzione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataConvenzione() {
		return _dataConvenzione;
	}

	@Override
	public void setDataConvenzione(String dataConvenzione) {
		_dataConvenzione = dataConvenzione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataConvenzione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, dataConvenzione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCigConvenzione() {
		return _codiceCigConvenzione;
	}

	@Override
	public void setCodiceCigConvenzione(String codiceCigConvenzione) {
		_codiceCigConvenzione = codiceCigConvenzione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCigConvenzione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCigConvenzione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCupConvenzione() {
		return _codiceCupConvenzione;
	}

	@Override
	public void setCodiceCupConvenzione(String codiceCupConvenzione) {
		_codiceCupConvenzione = codiceCupConvenzione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCupConvenzione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCupConvenzione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getIdDocumentoRicezione() {
		return _idDocumentoRicezione;
	}

	@Override
	public void setIdDocumentoRicezione(String idDocumentoRicezione) {
		_idDocumentoRicezione = idDocumentoRicezione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setIdDocumentoRicezione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, idDocumentoRicezione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getDataRicezione() {
		return _dataRicezione;
	}

	@Override
	public void setDataRicezione(String dataRicezione) {
		_dataRicezione = dataRicezione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setDataRicezione", String.class);

				method.invoke(_lineaFatturaRemoteModel, dataRicezione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCigRicezione() {
		return _codiceCigRicezione;
	}

	@Override
	public void setCodiceCigRicezione(String codiceCigRicezione) {
		_codiceCigRicezione = codiceCigRicezione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCigRicezione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCigRicezione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	@Override
	public String getCodiceCupRicezione() {
		return _codiceCupRicezione;
	}

	@Override
	public void setCodiceCupRicezione(String codiceCupRicezione) {
		_codiceCupRicezione = codiceCupRicezione;

		if (_lineaFatturaRemoteModel != null) {
			try {
				Class<?> clazz = _lineaFatturaRemoteModel.getClass();

				Method method = clazz.getMethod("setCodiceCupRicezione",
						String.class);

				method.invoke(_lineaFatturaRemoteModel, codiceCupRicezione);
			}
			catch (Exception e) {
				throw new UnsupportedOperationException(e);
			}
		}
	}

	public BaseModel<?> getLineaFatturaRemoteModel() {
		return _lineaFatturaRemoteModel;
	}

	public void setLineaFatturaRemoteModel(BaseModel<?> lineaFatturaRemoteModel) {
		_lineaFatturaRemoteModel = lineaFatturaRemoteModel;
	}

	public Object invokeOnRemoteModel(String methodName,
		Class<?>[] parameterTypes, Object[] parameterValues)
		throws Exception {
		Object[] remoteParameterValues = new Object[parameterValues.length];

		for (int i = 0; i < parameterValues.length; i++) {
			if (parameterValues[i] != null) {
				remoteParameterValues[i] = ClpSerializer.translateInput(parameterValues[i]);
			}
		}

		Class<?> remoteModelClass = _lineaFatturaRemoteModel.getClass();

		ClassLoader remoteModelClassLoader = remoteModelClass.getClassLoader();

		Class<?>[] remoteParameterTypes = new Class[parameterTypes.length];

		for (int i = 0; i < parameterTypes.length; i++) {
			if (parameterTypes[i].isPrimitive()) {
				remoteParameterTypes[i] = parameterTypes[i];
			}
			else {
				String parameterTypeName = parameterTypes[i].getName();

				remoteParameterTypes[i] = remoteModelClassLoader.loadClass(parameterTypeName);
			}
		}

		Method method = remoteModelClass.getMethod(methodName,
				remoteParameterTypes);

		Object returnValue = method.invoke(_lineaFatturaRemoteModel,
				remoteParameterValues);

		if (returnValue != null) {
			returnValue = ClpSerializer.translateOutput(returnValue);
		}

		return returnValue;
	}

	@Override
	public void persist() throws SystemException {
		if (this.isNew()) {
			LineaFatturaLocalServiceUtil.addLineaFattura(this);
		}
		else {
			LineaFatturaLocalServiceUtil.updateLineaFattura(this);
		}
	}

	@Override
	public LineaFattura toEscapedModel() {
		return (LineaFattura)ProxyUtil.newProxyInstance(LineaFattura.class.getClassLoader(),
			new Class[] { LineaFattura.class }, new AutoEscapeBeanHandler(this));
	}

	@Override
	public Object clone() {
		LineaFatturaClp clone = new LineaFatturaClp();

		clone.setLineaFatturaId(getLineaFatturaId());
		clone.setDocumentoIDFK(getDocumentoIDFK());
		clone.setNumeroLinea(getNumeroLinea());
		clone.setDescrizione(getDescrizione());
		clone.setDataInizio(getDataInizio());
		clone.setDataFine(getDataFine());
		clone.setQuantita(getQuantita());
		clone.setPrezzoUnitario(getPrezzoUnitario());
		clone.setPrezzoTotale(getPrezzoTotale());
		clone.setAliquotaIvaLinea(getAliquotaIvaLinea());
		clone.setTipoPrestazione(getTipoPrestazione());
		clone.setRitenuta(getRitenuta());
		clone.setNatura(getNatura());
		clone.setRiferimentoAmministrativo(getRiferimentoAmministrativo());
		clone.setNumeroDdt(getNumeroDdt());
		clone.setDataDdt(getDataDdt());
		clone.setIdDocumentoOrdine(getIdDocumentoOrdine());
		clone.setDataOrdine(getDataOrdine());
		clone.setCodiceCigOrdine(getCodiceCigOrdine());
		clone.setCodiceCupOrdine(getCodiceCupOrdine());
		clone.setIdDocumentoContratto(getIdDocumentoContratto());
		clone.setDataContratto(getDataContratto());
		clone.setCodiceCigContratto(getCodiceCigContratto());
		clone.setCodiceCupContratto(getCodiceCupContratto());
		clone.setIdDocumentoConvenzione(getIdDocumentoConvenzione());
		clone.setDataConvenzione(getDataConvenzione());
		clone.setCodiceCigConvenzione(getCodiceCigConvenzione());
		clone.setCodiceCupConvenzione(getCodiceCupConvenzione());
		clone.setIdDocumentoRicezione(getIdDocumentoRicezione());
		clone.setDataRicezione(getDataRicezione());
		clone.setCodiceCigRicezione(getCodiceCigRicezione());
		clone.setCodiceCupRicezione(getCodiceCupRicezione());

		return clone;
	}

	@Override
	public int compareTo(LineaFattura lineaFattura) {
		long primaryKey = lineaFattura.getPrimaryKey();

		if (getPrimaryKey() < primaryKey) {
			return -1;
		}
		else if (getPrimaryKey() > primaryKey) {
			return 1;
		}
		else {
			return 0;
		}
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}

		if (!(obj instanceof LineaFatturaClp)) {
			return false;
		}

		LineaFatturaClp lineaFattura = (LineaFatturaClp)obj;

		long primaryKey = lineaFattura.getPrimaryKey();

		if (getPrimaryKey() == primaryKey) {
			return true;
		}
		else {
			return false;
		}
	}

	@Override
	public int hashCode() {
		return (int)getPrimaryKey();
	}

	@Override
	public String toString() {
		StringBundler sb = new StringBundler(65);

		sb.append("{lineaFatturaId=");
		sb.append(getLineaFatturaId());
		sb.append(", documentoIDFK=");
		sb.append(getDocumentoIDFK());
		sb.append(", numeroLinea=");
		sb.append(getNumeroLinea());
		sb.append(", descrizione=");
		sb.append(getDescrizione());
		sb.append(", dataInizio=");
		sb.append(getDataInizio());
		sb.append(", dataFine=");
		sb.append(getDataFine());
		sb.append(", quantita=");
		sb.append(getQuantita());
		sb.append(", prezzoUnitario=");
		sb.append(getPrezzoUnitario());
		sb.append(", prezzoTotale=");
		sb.append(getPrezzoTotale());
		sb.append(", aliquotaIvaLinea=");
		sb.append(getAliquotaIvaLinea());
		sb.append(", tipoPrestazione=");
		sb.append(getTipoPrestazione());
		sb.append(", ritenuta=");
		sb.append(getRitenuta());
		sb.append(", natura=");
		sb.append(getNatura());
		sb.append(", riferimentoAmministrativo=");
		sb.append(getRiferimentoAmministrativo());
		sb.append(", numeroDdt=");
		sb.append(getNumeroDdt());
		sb.append(", dataDdt=");
		sb.append(getDataDdt());
		sb.append(", idDocumentoOrdine=");
		sb.append(getIdDocumentoOrdine());
		sb.append(", dataOrdine=");
		sb.append(getDataOrdine());
		sb.append(", codiceCigOrdine=");
		sb.append(getCodiceCigOrdine());
		sb.append(", codiceCupOrdine=");
		sb.append(getCodiceCupOrdine());
		sb.append(", idDocumentoContratto=");
		sb.append(getIdDocumentoContratto());
		sb.append(", dataContratto=");
		sb.append(getDataContratto());
		sb.append(", codiceCigContratto=");
		sb.append(getCodiceCigContratto());
		sb.append(", codiceCupContratto=");
		sb.append(getCodiceCupContratto());
		sb.append(", idDocumentoConvenzione=");
		sb.append(getIdDocumentoConvenzione());
		sb.append(", dataConvenzione=");
		sb.append(getDataConvenzione());
		sb.append(", codiceCigConvenzione=");
		sb.append(getCodiceCigConvenzione());
		sb.append(", codiceCupConvenzione=");
		sb.append(getCodiceCupConvenzione());
		sb.append(", idDocumentoRicezione=");
		sb.append(getIdDocumentoRicezione());
		sb.append(", dataRicezione=");
		sb.append(getDataRicezione());
		sb.append(", codiceCigRicezione=");
		sb.append(getCodiceCigRicezione());
		sb.append(", codiceCupRicezione=");
		sb.append(getCodiceCupRicezione());
		sb.append("}");

		return sb.toString();
	}

	@Override
	public String toXmlString() {
		StringBundler sb = new StringBundler(100);

		sb.append("<model><model-name>");
		sb.append("it.apuliait.model.LineaFattura");
		sb.append("</model-name>");

		sb.append(
			"<column><column-name>lineaFatturaId</column-name><column-value><![CDATA[");
		sb.append(getLineaFatturaId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>documentoIDFK</column-name><column-value><![CDATA[");
		sb.append(getDocumentoIDFK());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>numeroLinea</column-name><column-value><![CDATA[");
		sb.append(getNumeroLinea());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>descrizione</column-name><column-value><![CDATA[");
		sb.append(getDescrizione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataInizio</column-name><column-value><![CDATA[");
		sb.append(getDataInizio());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataFine</column-name><column-value><![CDATA[");
		sb.append(getDataFine());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>quantita</column-name><column-value><![CDATA[");
		sb.append(getQuantita());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>prezzoUnitario</column-name><column-value><![CDATA[");
		sb.append(getPrezzoUnitario());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>prezzoTotale</column-name><column-value><![CDATA[");
		sb.append(getPrezzoTotale());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>aliquotaIvaLinea</column-name><column-value><![CDATA[");
		sb.append(getAliquotaIvaLinea());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>tipoPrestazione</column-name><column-value><![CDATA[");
		sb.append(getTipoPrestazione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>ritenuta</column-name><column-value><![CDATA[");
		sb.append(getRitenuta());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>natura</column-name><column-value><![CDATA[");
		sb.append(getNatura());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>riferimentoAmministrativo</column-name><column-value><![CDATA[");
		sb.append(getRiferimentoAmministrativo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>numeroDdt</column-name><column-value><![CDATA[");
		sb.append(getNumeroDdt());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataDdt</column-name><column-value><![CDATA[");
		sb.append(getDataDdt());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>idDocumentoOrdine</column-name><column-value><![CDATA[");
		sb.append(getIdDocumentoOrdine());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataOrdine</column-name><column-value><![CDATA[");
		sb.append(getDataOrdine());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCigOrdine</column-name><column-value><![CDATA[");
		sb.append(getCodiceCigOrdine());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCupOrdine</column-name><column-value><![CDATA[");
		sb.append(getCodiceCupOrdine());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>idDocumentoContratto</column-name><column-value><![CDATA[");
		sb.append(getIdDocumentoContratto());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataContratto</column-name><column-value><![CDATA[");
		sb.append(getDataContratto());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCigContratto</column-name><column-value><![CDATA[");
		sb.append(getCodiceCigContratto());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCupContratto</column-name><column-value><![CDATA[");
		sb.append(getCodiceCupContratto());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>idDocumentoConvenzione</column-name><column-value><![CDATA[");
		sb.append(getIdDocumentoConvenzione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataConvenzione</column-name><column-value><![CDATA[");
		sb.append(getDataConvenzione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCigConvenzione</column-name><column-value><![CDATA[");
		sb.append(getCodiceCigConvenzione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCupConvenzione</column-name><column-value><![CDATA[");
		sb.append(getCodiceCupConvenzione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>idDocumentoRicezione</column-name><column-value><![CDATA[");
		sb.append(getIdDocumentoRicezione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>dataRicezione</column-name><column-value><![CDATA[");
		sb.append(getDataRicezione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCigRicezione</column-name><column-value><![CDATA[");
		sb.append(getCodiceCigRicezione());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>codiceCupRicezione</column-name><column-value><![CDATA[");
		sb.append(getCodiceCupRicezione());
		sb.append("]]></column-value></column>");

		sb.append("</model>");

		return sb.toString();
	}

	private long _lineaFatturaId;
	private long _documentoIDFK;
	private String _numeroLinea;
	private String _descrizione;
	private String _dataInizio;
	private String _dataFine;
	private String _quantita;
	private String _prezzoUnitario;
	private String _prezzoTotale;
	private String _aliquotaIvaLinea;
	private String _tipoPrestazione;
	private String _ritenuta;
	private String _natura;
	private String _riferimentoAmministrativo;
	private String _numeroDdt;
	private String _dataDdt;
	private String _idDocumentoOrdine;
	private String _dataOrdine;
	private String _codiceCigOrdine;
	private String _codiceCupOrdine;
	private String _idDocumentoContratto;
	private String _dataContratto;
	private String _codiceCigContratto;
	private String _codiceCupContratto;
	private String _idDocumentoConvenzione;
	private String _dataConvenzione;
	private String _codiceCigConvenzione;
	private String _codiceCupConvenzione;
	private String _idDocumentoRicezione;
	private String _dataRicezione;
	private String _codiceCigRicezione;
	private String _codiceCupRicezione;
	private BaseModel<?> _lineaFatturaRemoteModel;
}